Programming languages for Ethereum
A programming language used for writing programs (code) for smart
contracts is called Solidity.
Ethereum was mainly programmed in C++, Python, GoLang, and Solidity.
LLL
It is the first high-level functional programming language used for
writing Ethereum smart contracts.
Serpent
It is a procedural programming language used to write functional
code.
Solidity
It is a procedural programming language used popularly to write smart
contracts for Ethereum.
Vyper
It is a newly developed language having similarity to Serpent with
Python-like syntax.
Bamboo
It is a language without iterative flows and having explicit state
transitions; the intention is to increase the auditability, in spite of its
being new and yet to be widely adopted.
Ethereum virtual machine
Regardless of the programming language used, being a Turing complete
software, the EVM runs on the Ethereum network and enables any program
to be run by anyone, given enough time and memory. Creating blockchain
applications easily and efficiently has been made by EVM. Ethereum
enables the development of several different applications all on one
platform instead of developing an entirely original blockchain for each new
application.
Layers of Ethereum platform
The various layers (see figure 5.1) of the Ethereum platform are as follows: